<?php
	require_once 'Model/User.php';
	class LoginHandler{
		private $LoggedInSession = "LoggedIn";
		private $DBConnection = null;
		
		
		
		public function __construct(DBConnection $DBConnection){
			$this->DBConnection = $DBConnection;
		}
		
		/**
		 * Kontrollerar om användaren är inloggad ( om sessionen finns)
		 * @return bool
		 */
		public function IsLoggedIn()
		{
			if (isset($_SESSION[$this->LoggedInSession])) {
				return TRUE;
			} else{	
				return FALSE;
			}
		}
		
		/**
		 * Loggar in användaren
		 * @param User $user användar-objekt
		 */
		public function DoLogin($username, $password){
			
			$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
			
			$stmt = $this->DBConnection->Prepare($sql);

			$stmt->bind_param("ss", $username, $password);
			
			$stmt->execute();
			
			$ret = $stmt->fetch();
			
			$stmt->close();
			
			// Returnerar fetch() TRUE har minst en rad hittats
			if ($ret === TRUE) {	
				$_SESSION[$this->LoggedInSession] = TRUE;
				return TRUE;	
			}
			return FALSE;
		}
		

		/**
		 * Loggar ut användaren
		 */
		public function DoLogout()
		{
			// Tar bort sessionen om den är satt.
			if (isset($_SESSION[$this->LoggedInSession])) {
					
				unset($_SESSION[$this->LoggedInSession]);
			}	
			
		}
		
	}
?>